Software engineering is the systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software. As an academic discipline, it investigates principles, methods, and tools for creating reliable, efficient, and scalable software systems.
Ontological type
Core Activities
Development Methodologies
Software Quality Attributes
Correctness and Reliability Engineering
1972 - 1985
Modularity and Architecture Design
1986 - 2002
Data-driven Automation for Evolution
2003 - 2023
Correctness and Reliability Engineering era
Barry Boehm [1] was a central figure in Correctness and Reliability Engineering (1972-1985), with notable ties to the University of California, Los Angeles [3]. His influential contributions in this era include the economic perspective on software engineering articulated in Software Engineering Economics [5], the quantitative assessment of software impact in Software and Its Impact: A Quantitative Assessment [6], and early formal and automated aids to requirements analysis and design described in Some Steps Toward Formal and Automated Aids to Software Requirements Analysis and Design [7], all of which helped formalize cost, quality, and specification as measurable foundations for reliability. John Backus [2] was another foundational figure in this era, with affiliations to the University of San Francisco [4]. His 1978 paper Can programming be liberated from the von Neumann style? [8] challenged prevailing programming paradigms and spurred thinking about alternative architectures that underpin program correctness and dependable software systems in this period.
Modularity and Architecture Design era
Barry Boehm [1] is associated with institutions such as the University of California, Los Angeles [3] and the University of Colorado Boulder [4] during this era. His 1988 paper A spiral model of software development and enhancement [6] introduced the spiral model, an iterative, risk-driven lifecycle that shaped how practitioners approached modularity and system evolution. Dewayne E. Perry [2] is associated with The University of Texas at Austin [5] during this era. His 1992 paper Foundations for the study of software architecture [7] laid foundational concepts for software architecture, catalyzing architecture-centric design, evaluation, and reuse practices that defined the era's emphasis on architecture modeling and multi-view representations.
Data-driven Automation for Evolution era
Vikram Adve [1] is a prominent figure in software engineering during this era, with affiliations including University of Minnesota [3] and University of Illinois Urbana-Champaign [4]. His LLVM: a compilation framework for lifelong program analysis & transformation [7] exemplifies scalable program analysis and transformation across evolving codebases, enabling data-driven automation by enabling reusable analyses and transformations. Claes Wohlin [2] is associated with Lund University [5] and UNSW Sydney [6] during this era. His 2013 paper Experimentation in software engineering [8] emphasizes empirical experimentation and evidence-based software engineering, laying the groundwork for data-driven approaches such as mining repositories and reproducible methods in this era.